package work.mediway.mdm.biz.entity.hierarchy;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mediway.hos.common.annotation.Excel;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalTime;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 组织职位
 * @author ruoyi
 * @since 2022-08-25
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("HOS_Position")
@ApiModel(value="HosPosition对象", description="组织职位")
public class HosPosition implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "组织职位代码")
    @TableId(value = "POS_Code", type = IdType.ASSIGN_ID)
    private String posCode;

    @ApiModelProperty(value = "组织职位名称")
    @TableField("POS_Desc")
    private String posDesc;

    @ApiModelProperty(value = "职位字典组织代码")
    @TableField("POS_POSC_ORGCode")
    private String posPoscOrgCode;

    @ApiModelProperty(value = "职位字典代码")
    @TableField("POS_POSC_Code")
    private String posPoscCode;

    @ApiModelProperty(value = "组织代码")
    @TableField("POS_ORGCode")
    private String posOrgCode;

    @ApiModelProperty(value = "上级职位代码")
    @TableField("POS_POSCode")
    private String posPosCode;

    @ApiModelProperty(value = "额定人数")
    @TableField("POS_LimitedNum")
    private Integer posLimitedNum;

    @ApiModelProperty(value = "是否有效")
    @TableField("POS_Activity")
    private String posActivity;

    @ApiModelProperty(value = "开始日期")
    @TableField("POS_StartDate")
    private LocalDate posStartDate;

    @ApiModelProperty(value = "结束日期")
    @TableField("POS_EndDate")
    private LocalDate posEndDate;

    @ApiModelProperty(value = "系统创建日期")
    @TableField("POS_CreateDate")
    private LocalDate posCreateDate;

    @ApiModelProperty(value = "系统创建时间")
    @TableField("POS_CreateTime")
    private LocalTime posCreateTime;

    @ApiModelProperty(value = "系统创建人")
    @TableField("POS_CreateUser")
    private String posCreateUser;

    @ApiModelProperty(value = "系统排序号")
    @TableField("POS_SeqNo")
    private Integer posSeqNo;

    @ApiModelProperty(value = "系统最后更新日期")
    @TableField("POS_LastUpdateDate")
    private LocalDate posLastUpdateDate;

    @ApiModelProperty(value = "系统最后更新时间")
    @TableField("POS_LastUpdateTime")
    private LocalTime posLastUpdateTime;

    @ApiModelProperty(value = "系统最新更新人")
    @TableField("POS_LastUpdateUser")
    private String posLastUpdateUser;

    @ApiModelProperty(value = "拼音码")
    @TableField("POS_PYCode")
    private String posPyCode;

    @ApiModelProperty(value = "五笔码")
    @TableField("POS_WBCode")
    private String posWbCode;

    @ApiModelProperty(value = "备注")
    @TableField("POS_Mark")
    private String posMark;

    @TableField(exist = false)
    @ApiModelProperty(value = "岗位信息")
    @Excel(name = "岗位信息")
    private List<HosPost> hosPostList;

}
